<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span id="local-6989586621680774480"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.CmmToAsm.X86.Cond</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-2"></span><span>        </span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#Cond"><span class="hs-identifier">Cond</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-3"></span><span>        </span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#condToUnsigned"><span class="hs-identifier">condToUnsigned</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-4"></span><span>        </span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#maybeFlipCond"><span class="hs-identifier">maybeFlipCond</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-5"></span><span>        </span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#maybeInvertCond"><span class="hs-identifier">maybeInvertCond</span></a></span><span>
</span><span id="line-6"></span><span class="hs-special">)</span><span>
</span><span id="line-7"></span><span>
</span><span id="line-8"></span><span class="hs-keyword">where</span><span>
</span><span id="line-9"></span><span>
</span><span id="line-10"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Prelude.html"><span class="hs-identifier">GHC.Prelude</span></a></span><span>
</span><span id="line-11"></span><span>
</span><span id="line-12"></span><span class="hs-keyword">data</span><span> </span><span id="Cond"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#Cond"><span class="hs-identifier hs-var">Cond</span></a></span></span><span>
</span><span id="line-13"></span><span>        </span><span class="hs-glyph">=</span><span> </span><span id="ALWAYS"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#ALWAYS"><span class="hs-identifier hs-var">ALWAYS</span></a></span></span><span>        </span><span class="hs-comment">-- What's really used? ToDo</span><span>
</span><span id="line-14"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="EQQ"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#EQQ"><span class="hs-identifier hs-var">EQQ</span></a></span></span><span>           </span><span class="hs-comment">-- je/jz -&gt; zf = 1</span><span>
</span><span id="line-15"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="GE"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#GE"><span class="hs-identifier hs-var">GE</span></a></span></span><span>            </span><span class="hs-comment">-- jge</span><span>
</span><span id="line-16"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="GEU"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#GEU"><span class="hs-identifier hs-var">GEU</span></a></span></span><span>           </span><span class="hs-comment">-- ae</span><span>
</span><span id="line-17"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="GTT"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#GTT"><span class="hs-identifier hs-var">GTT</span></a></span></span><span>           </span><span class="hs-comment">-- jg</span><span>
</span><span id="line-18"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="GU"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#GU"><span class="hs-identifier hs-var">GU</span></a></span></span><span>            </span><span class="hs-comment">-- ja</span><span>
</span><span id="line-19"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="LE"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#LE"><span class="hs-identifier hs-var">LE</span></a></span></span><span>            </span><span class="hs-comment">-- jle</span><span>
</span><span id="line-20"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="LEU"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#LEU"><span class="hs-identifier hs-var">LEU</span></a></span></span><span>           </span><span class="hs-comment">-- jbe</span><span>
</span><span id="line-21"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="LTT"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#LTT"><span class="hs-identifier hs-var">LTT</span></a></span></span><span>           </span><span class="hs-comment">-- jl</span><span>
</span><span id="line-22"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="LU"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#LU"><span class="hs-identifier hs-var">LU</span></a></span></span><span>            </span><span class="hs-comment">-- jb</span><span>
</span><span id="line-23"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="NE"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#NE"><span class="hs-identifier hs-var">NE</span></a></span></span><span>            </span><span class="hs-comment">-- jne</span><span>
</span><span id="line-24"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="NEG"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#NEG"><span class="hs-identifier hs-var">NEG</span></a></span></span><span>           </span><span class="hs-comment">-- js</span><span>
</span><span id="line-25"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="POS"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#POS"><span class="hs-identifier hs-var">POS</span></a></span></span><span>           </span><span class="hs-comment">-- jns</span><span>
</span><span id="line-26"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="CARRY"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#CARRY"><span class="hs-identifier hs-var">CARRY</span></a></span></span><span>         </span><span class="hs-comment">-- jc</span><span>
</span><span id="line-27"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="OFLO"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#OFLO"><span class="hs-identifier hs-var">OFLO</span></a></span></span><span>          </span><span class="hs-comment">-- jo</span><span>
</span><span id="line-28"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="PARITY"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#PARITY"><span class="hs-identifier hs-var">PARITY</span></a></span></span><span>        </span><span class="hs-comment">-- jp</span><span>
</span><span id="line-29"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span id="NOTPARITY"><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#NOTPARITY"><span class="hs-identifier hs-var">NOTPARITY</span></a></span></span><span>     </span><span class="hs-comment">-- jnp</span><span>
</span><span id="line-30"></span><span>        </span><span class="hs-keyword">deriving</span><span> </span><span id="local-6989586621680774456"><span id="local-6989586621680774458"><span class="annot"><span class="annottext">Cond -&gt; Cond -&gt; Bool
(Cond -&gt; Cond -&gt; Bool) -&gt; (Cond -&gt; Cond -&gt; Bool) -&gt; Eq Cond
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: Cond -&gt; Cond -&gt; Bool
$c/= :: Cond -&gt; Cond -&gt; Bool
== :: Cond -&gt; Cond -&gt; Bool
$c== :: Cond -&gt; Cond -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span>
</span><span id="line-31"></span><span>
</span><span id="line-32"></span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#condToUnsigned"><span class="hs-identifier hs-type">condToUnsigned</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#Cond"><span class="hs-identifier hs-type">Cond</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#Cond"><span class="hs-identifier hs-type">Cond</span></a></span><span>
</span><span id="line-33"></span><span id="condToUnsigned"><span class="annot"><span class="annottext">condToUnsigned :: Cond -&gt; Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#condToUnsigned"><span class="hs-identifier hs-var hs-var">condToUnsigned</span></a></span></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GTT"><span class="hs-identifier hs-var">GTT</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GU"><span class="hs-identifier hs-var">GU</span></a></span><span>
</span><span id="line-34"></span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#condToUnsigned"><span class="hs-identifier hs-var">condToUnsigned</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LTT"><span class="hs-identifier hs-var">LTT</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LU"><span class="hs-identifier hs-var">LU</span></a></span><span>
</span><span id="line-35"></span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#condToUnsigned"><span class="hs-identifier hs-var">condToUnsigned</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GE"><span class="hs-identifier hs-var">GE</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GEU"><span class="hs-identifier hs-var">GEU</span></a></span><span>
</span><span id="line-36"></span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#condToUnsigned"><span class="hs-identifier hs-var">condToUnsigned</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LE"><span class="hs-identifier hs-var">LE</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LEU"><span class="hs-identifier hs-var">LEU</span></a></span><span>
</span><span id="line-37"></span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#condToUnsigned"><span class="hs-identifier hs-var">condToUnsigned</span></a></span><span> </span><span id="local-6989586621680774454"><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621680774454"><span class="hs-identifier hs-var">x</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621680774454"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-38"></span><span>
</span><span id="line-39"></span><span class="hs-comment">-- | @maybeFlipCond c@ returns @Just c'@ if it is possible to flip the</span><span>
</span><span id="line-40"></span><span class="hs-comment">-- arguments to the conditional @c@, and the new condition should be @c'@.</span><span>
</span><span id="line-41"></span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#maybeFlipCond"><span class="hs-identifier hs-type">maybeFlipCond</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#Cond"><span class="hs-identifier hs-type">Cond</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#Cond"><span class="hs-identifier hs-type">Cond</span></a></span><span>
</span><span id="line-42"></span><span id="maybeFlipCond"><span class="annot"><span class="annottext">maybeFlipCond :: Cond -&gt; Maybe Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#maybeFlipCond"><span class="hs-identifier hs-var hs-var">maybeFlipCond</span></a></span></span><span> </span><span id="local-6989586621680774453"><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621680774453"><span class="hs-identifier hs-var">cond</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621680774453"><span class="hs-identifier hs-var">cond</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-43"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#EQQ"><span class="hs-identifier hs-var">EQQ</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#EQQ"><span class="hs-identifier hs-var">EQQ</span></a></span><span>
</span><span id="line-44"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#NE"><span class="hs-identifier hs-var">NE</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#NE"><span class="hs-identifier hs-var">NE</span></a></span><span>
</span><span id="line-45"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LU"><span class="hs-identifier hs-var">LU</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GU"><span class="hs-identifier hs-var">GU</span></a></span><span>
</span><span id="line-46"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GU"><span class="hs-identifier hs-var">GU</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LU"><span class="hs-identifier hs-var">LU</span></a></span><span>
</span><span id="line-47"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LEU"><span class="hs-identifier hs-var">LEU</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GEU"><span class="hs-identifier hs-var">GEU</span></a></span><span>
</span><span id="line-48"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GEU"><span class="hs-identifier hs-var">GEU</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LEU"><span class="hs-identifier hs-var">LEU</span></a></span><span>
</span><span id="line-49"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LTT"><span class="hs-identifier hs-var">LTT</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GTT"><span class="hs-identifier hs-var">GTT</span></a></span><span>
</span><span id="line-50"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GTT"><span class="hs-identifier hs-var">GTT</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LTT"><span class="hs-identifier hs-var">LTT</span></a></span><span>
</span><span id="line-51"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LE"><span class="hs-identifier hs-var">LE</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GE"><span class="hs-identifier hs-var">GE</span></a></span><span>
</span><span id="line-52"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GE"><span class="hs-identifier hs-var">GE</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LE"><span class="hs-identifier hs-var">LE</span></a></span><span>
</span><span id="line-53"></span><span>        </span><span id="local-6989586621680774452"><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621680774452"><span class="hs-identifier hs-var">_other</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Maybe Cond
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-54"></span><span>
</span><span id="line-55"></span><span class="hs-comment">-- | If we apply @maybeInvertCond@ to the condition of a jump we turn</span><span>
</span><span id="line-56"></span><span class="hs-comment">-- jumps taken into jumps not taken and vice versa.</span><span>
</span><span id="line-57"></span><span class="hs-comment">--</span><span>
</span><span id="line-58"></span><span class="hs-comment">-- Careful! If the used comparison and the conditional jump</span><span>
</span><span id="line-59"></span><span class="hs-comment">-- don't match the above behaviour will NOT hold.</span><span>
</span><span id="line-60"></span><span class="hs-comment">-- When used for FP comparisons this does not consider unordered</span><span>
</span><span id="line-61"></span><span class="hs-comment">-- numbers.</span><span>
</span><span id="line-62"></span><span class="hs-comment">-- Also inverting twice might return a synonym for the original condition.</span><span>
</span><span id="line-63"></span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#maybeInvertCond"><span class="hs-identifier hs-type">maybeInvertCond</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#Cond"><span class="hs-identifier hs-type">Cond</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="GHC.CmmToAsm.X86.Cond.html#Cond"><span class="hs-identifier hs-type">Cond</span></a></span><span>
</span><span id="line-64"></span><span id="maybeInvertCond"><span class="annot"><span class="annottext">maybeInvertCond :: Cond -&gt; Maybe Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#maybeInvertCond"><span class="hs-identifier hs-var hs-var">maybeInvertCond</span></a></span></span><span> </span><span id="local-6989586621680774451"><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621680774451"><span class="hs-identifier hs-var">cond</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="#local-6989586621680774451"><span class="hs-identifier hs-var">cond</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-65"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#ALWAYS"><span class="hs-identifier hs-var">ALWAYS</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Maybe Cond
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-66"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#EQQ"><span class="hs-identifier hs-var">EQQ</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#NE"><span class="hs-identifier hs-var">NE</span></a></span><span>
</span><span id="line-67"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#NE"><span class="hs-identifier hs-var">NE</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#EQQ"><span class="hs-identifier hs-var">EQQ</span></a></span><span>
</span><span id="line-68"></span><span>
</span><span id="line-69"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#NEG"><span class="hs-identifier hs-var">NEG</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#POS"><span class="hs-identifier hs-var">POS</span></a></span><span>
</span><span id="line-70"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#POS"><span class="hs-identifier hs-var">POS</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#NEG"><span class="hs-identifier hs-var">NEG</span></a></span><span>
</span><span id="line-71"></span><span>
</span><span id="line-72"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GEU"><span class="hs-identifier hs-var">GEU</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LU"><span class="hs-identifier hs-var">LU</span></a></span><span>
</span><span id="line-73"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LU"><span class="hs-identifier hs-var">LU</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GEU"><span class="hs-identifier hs-var">GEU</span></a></span><span>
</span><span id="line-74"></span><span>
</span><span id="line-75"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GE"><span class="hs-identifier hs-var">GE</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LTT"><span class="hs-identifier hs-var">LTT</span></a></span><span>
</span><span id="line-76"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LTT"><span class="hs-identifier hs-var">LTT</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GE"><span class="hs-identifier hs-var">GE</span></a></span><span>
</span><span id="line-77"></span><span>
</span><span id="line-78"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GTT"><span class="hs-identifier hs-var">GTT</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LE"><span class="hs-identifier hs-var">LE</span></a></span><span>
</span><span id="line-79"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LE"><span class="hs-identifier hs-var">LE</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GTT"><span class="hs-identifier hs-var">GTT</span></a></span><span>
</span><span id="line-80"></span><span>
</span><span id="line-81"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GU"><span class="hs-identifier hs-var">GU</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LEU"><span class="hs-identifier hs-var">LEU</span></a></span><span>
</span><span id="line-82"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#LEU"><span class="hs-identifier hs-var">LEU</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GU"><span class="hs-identifier hs-var">GU</span></a></span><span>
</span><span id="line-83"></span><span>
</span><span id="line-84"></span><span>        </span><span class="hs-comment">--GEU &quot;==&quot; NOTCARRY, they are synonyms</span><span>
</span><span id="line-85"></span><span>        </span><span class="hs-comment">--at the assembly level</span><span>
</span><span id="line-86"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#CARRY"><span class="hs-identifier hs-var">CARRY</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#GEU"><span class="hs-identifier hs-var">GEU</span></a></span><span>
</span><span id="line-87"></span><span>
</span><span id="line-88"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#OFLO"><span class="hs-identifier hs-var">OFLO</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Maybe Cond
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-89"></span><span>
</span><span id="line-90"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#PARITY"><span class="hs-identifier hs-var">PARITY</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#NOTPARITY"><span class="hs-identifier hs-var">NOTPARITY</span></a></span><span>
</span><span id="line-91"></span><span>        </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#NOTPARITY"><span class="hs-identifier hs-var">NOTPARITY</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Cond -&gt; Maybe Cond
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Cond
</span><a href="GHC.CmmToAsm.X86.Cond.html#PARITY"><span class="hs-identifier hs-var">PARITY</span></a></span><span>
</span><span id="line-92"></span></pre></body></html>